4D Violate 1.1.1         a.k.a. Human Interface Guideline Violations

Copyright © 1993-1994 René G.A. Ros. All rights reserved.  Freeware.

This external package contains a number of functions and commands to obtain and set some user changable settings and perform some ”only-the-user-should-do-this“ actions on the current machine.

These are:
        - sound volume of the speaker,
        - screen type and depth of the main screen,
        - Balloon Help state,
        - empty trash, restart and shutdown like you do with the 
                 menu-items in the ”Special“ menu of the Finder.
        - control the screensaver.

Because these are usually set or performed by the user you must have a good reason to change it. In any case you should explain to the user in a dialog window why you want to change the current setting. Then ask his/her permission to do so, and when the user cancels your data-base should accept this and either quit or continue in less optimal circumstances.

The volume and screen functions should function with every System Software version you can use 4D 2.2.3, 3.0 and later with. It does not need any additional software like Sound Manager 3.0. But the Balloon Help, restart and shutdown functions only work with System 7 or later.

The speaker volume is always a value between 0 (silent) and 7 (loud).

For the screen type two values are possible:
        Value       Type *
         0             Grays
         1             Colours

                * as listed with the Monitors control panel
(Note: Black/White is possible with both the grays and colours setting.)

And the screen depth is expressed as the number of bits used to store the colour data:
        Bits     Number of colours/grays *
         1              Black & White
         2              4
         4              16
         8              256
        16             Thousands
        24              Millions

                * as listed with the Monitors control panel

Now a few words about the screensaver control functions.

These functions use certain Gestalt selectors and are based on information provided by Berkeley Systems, Inc and implemented by the After Dark screensaver. A growing number of other screensavers now implement this method as well. As far as I know these are ”Darkside of the Mac“ by Tom Dowdy and ”Basic Black“ by Mason L. Bliss. I haven't seen a recent version of Pyro!, so I have no idea if this method is implemented by Pyro! as well.

Hence the screensaver control function works only with these three screensavers (at least with the latest versions). These two screensaver functions haven't been tested thoroughly because I don't have After Dark.